package rede;

import protocolo.Mensagem;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.ArrayList;

/**
 * @author tiagosn
 */
public class RecebeDados implements Runnable{
    private Cliente cliente;

    public RecebeDados(Cliente cliente){
        this.cliente = cliente;
    }

    public void run() {
        ObjectInputStream entrada = cliente.getEntrada();
        while(true){
            try {
                Object objEntrada = entrada.readObject();
                if(objEntrada instanceof Mensagem){
                    cliente.mostrarMensagem((Mensagem)objEntrada);
                }else if(objEntrada instanceof ArrayList){ /// ler array do stream(obs posso mandar uma list) xD
                    cliente.atualizarListaUsuarios((ArrayList<String>)objEntrada);
                }
            } catch (IOException ex) {
                cliente.terminarConexao();
                break;
            } catch (ClassNotFoundException ex) {
                cliente.terminarConexao();
                break;
            }
        }
    }
}
